# kind: Trigger

Конфигурация «реагирует» на опубликованные пользователем конфигурации «kind: TriggerInstance»

Конфигурация предназначена для реализации аннотации/метки, необходимой для инициализации креации. Так же в данной конфигурации описывается список шаблонов (для креации ресурсов по ним).

Главным отличием от мутационных триггеров является наличие секции «creationСonfigs».

```yaml
kind: Trigger
apiVersion: kubelatte.io/v1alpha1
metadata:
  name: triggername
  namespace: KBLT_NAMESPACE
spec:
  creationConfigs:
    - annotationNamespace: kblt.io
      annotationTrigger: creation
      disableUniqueName: 'true'
      labelSelector: 
          matchExpressions:
            - key: key
              operator: In
              values:
                - value
      name: creation-config-test
      templateRefs:                 # Массив ссылок на шаблоны, в каждом из которых описан один ресурс, в формате <проект шаблона>/<имя шаблона>
        - kubelatte-demo/test2
```

| Поле                                 | Назначение                                                                                          |
|--------------------------------------|-----------------------------------------------------------------------------------------------------|
| [creationConfigs](#creationConfigs)  | Список условий, при которых должен выполниться мутирующий webhook, а так же ресурсы sidecar/volumes                                                              |


## creationConfigs

| Поле                            | Назначение                                                                                                                                                                                                                                                                                                                                                                    |
|---------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| name                            | Уникальное наименование условия (конструкция аннотации)                                                                                                                                                                                                                                                                                                                       |
| annotationNamespace             | Составная часть аннотации, первый уровень                                                                                                                                                                                                                                                                                                                                     |
| annotationTrigger               | Составная часть аннотации, второй уровень                                                                                                                                                                                                                                                                                                                                     |
| disableUniqueName               | Добавляет хэш в название создваемого ресурса. Возможные значения: <br>1. true - хэш не добавляется <br>2. false - хэш добавляется <br> Имя созаваемого ресурса такое, как указано в «kind: Template». Если же имя не указано, то имя ресурса совпадает со значением поля «name» конфигурации «kind: TriggerInstance»                                                          |
| [labelSelector](#labelselector) | Информация по метке (label), по которой будет работать mutating webhook                                                                                                                                                                                                                                                                                                       |
| templateRefs                    | Список шаблонов в формате «{Имя\_namespace\_где\_реализована\_конфигурация\_Template}/{Имя\_конфигурации\_Template}», по которым будут созданы ресурсы при публикации пользователем ресурса «kind: TriggerInstance» c реализованной аннотацией (реализованной по структуре «{annotationNamespace}/{annotationTrigger}: enabled») или метки (описанным в секции labelSelector) |

## labelSelector

| Поле                                     | Назначение               |
|------------------------------------------|--------------------------|
| [matchExpressions](#matchexpressions)    | Значение метки (label)   |

## matchExpressions

| Поле                | Назначение                                     |
|---------------------|------------------------------------------------|
| key                 | Ключ метки (label)                             |
| values              | Значение метки (label)                         |
| operator            | Операция при сравнении метки (label) (In/NotIn)|


